Die Implementierung

Zur Implementierung war ein Blick in LATEX.TEX nötig. Die zentrale Routine zum Ausgeben einer Seite ist \@outputpage. In ihr wird an \shipout eine vbox übergeben, in der der Seiteninhalt aus mehreren hbox zusammengesetzt wird. Für unsere Zwecke muß nur eine Zeile hinzugefügt werden, in der die Kennzeichnung als hbox hinzu kommt.

Die Stil-Option ersetzt die LATEX-Definition von \@outputpage einfach durch die so modifizierte. Tatsächlich wurde der Code direkt aus LATEX.TEX herauskopiert. Die Idee zu \timeofday stammt aus FONTBL.TEX von Pierre A. MacKay.

Es folgt der Code von PRELIM.STY:

% Documentstyle-option ``prelim''(-inary)
%
% Copyright (C) 1990 by
% Robert Tolksdorf
% K\"ortestr. 30
% D-1000 Berlin 61
% West-Germany
%
% 27.05.90 Original
% 29.05.90 Added a blank after \today in \draftmark
% 31.05.90 Changed \timeofday to insert an addition `0' (eg. in 2:07)
% 31.07.90 Rearranged the message output
%
\newcount\@hourmin
\def\timeofday{\@hourmin=\time\divide\@hourmin by 60\relax\the\@hourmin:%
  \multiply\@hourmin by -60 \advance\@hourmin by\time\ifnum\@hourmin<10{0}\fi%
  \the\@hourmin}
%
% \drafttext defines what text should appear
%
\def\drafttext{ENTWURF (\today\ -- \timeofday)}
%
% \draftmark defines how the draft-marking line should appear
%
\def\draftmark{\rm\hfil\drafttext\hfil}
%
% We redefine the original LaTeX-output-grandmaster and introduce an
% additional line saying that the document is in draft-status.
%
\def\@outputpage{\begingroup\catcode`\ =10 \if@specialpage
     \global\@specialpagefalse\@nameuse{ps@\@specialstyle}\fi
     \if@twoside
       \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
            \let\@themargin\oddsidemargin
          \else \let\@thehead\@evenhead
          \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
     \fi\fi
     \shipout
     \vbox{\normalsize \baselineskip\z@ \lineskip\z@
           \vskip \topmargin \moveright\@themargin
           \vbox{\setbox\@tempboxa
                   \vbox to\headheight{\vfil \hbox to\textwidth{\@thehead}}
                 \dp\@tempboxa\z@
                 \box\@tempboxa
                 \vskip \headsep
                 \box\@outputbox
                 \baselineskip\footskip
                 \hbox to\textwidth{\@thefoot}
%
% Here our modification is: simply add an additional line
% to the \vbox that contains the \draftmark. Simple, but it works!
%
                 \hbox to\textwidth{\draftmark}}}\global\@colht\textheight
           \endgroup\stepcounter{page}\let\firstmark\botmark}
%
% Type out a message (it contains a version-number in parenthesis).
%
\typeout{*** This document is in draft-status *** (1-310790RT)}

\endinput